<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta name="GENERATOR" content="PasDoc 0.10.0">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>Crispy Plotter Documentation: InstructionList: Class TInstructionList</title>
<link rel="StyleSheet" type="text/css" href="pasdoc.css">
</head>
<body bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#FF0000">
<a name="TInstructionList"></a><h1 class="cio">Class TInstructionList</h1>
<table class="sections wide_list">
<tr>
<td><a class="section"  href="#@Description">Description</a></td><td><a class="section"  href="#@Hierarchy">Hierarchy</a></td><td><a class="section"  href="#@Fields">Fields</a></td><td><a class="section"  href="#@Methods">Methods</a></td><td>Properties</td></tr></table>
<a name="@Description"></a><h2 class="unit">Unit</h2>
<p class="unitlink">
<a   href="InstructionList.html">InstructionList</a></p>
<h2 class="declaration">Declaration</h2>
<p class="declaration">
<code>type TInstructionList = class(TObjectList)</code></p>
<h2 class="description">Description</h2>
<p>
The class TInstructionList contains a list of TInstruction instances, which form an expression anre are solved from left to right. The process of interpreting an expression string (aka the dirty work :) ) is implemented in TInstructionList and divided into two major steps: First the expression structure is parsed (Reading signs, operands and operators into TInstruction instances, done by the method <a class="normal"  href="InstructionList.TInstructionList.html#ParseExpression">ParseExpression</a>) and then the instruction list is sorted by operator precedence (done by the method <a class="normal"  href="InstructionList.TInstructionList.html#OpSort">OpSort</a>).  </p>
<h6 class="description_section">See also</h6>
<dl class="see_also">
  <dt><a class="normal"  href="InstructionList.TInstructionList.html#ParseExpression">ParseExpression</a></dt>
  <dd>Parses section of equation</dd>
  <dt><a class="normal"  href="InstructionList.TInstructionList.html#OpSort">OpSort</a></dt>
  <dd></dd>
</dl>
<a name="@Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2>
<ul class="hierarchy"><li class="ancestor">TObjectList</li>
<li class="thisitem">TInstructionList</li></ul><h2 class="overview">Overview</h2>
<a name="@Fields"></a><h3 class="summary">Fields</h3>
<table class="summary wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><code><b><a   href="InstructionList.TInstructionList.html#FToken">FToken</a></b>: <a   href="ParseConst.TToken.html">TToken</a>;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><code><b><a   href="InstructionList.TInstructionList.html#FPos">FPos</a></b>: Integer;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code><b><a   href="InstructionList.TInstructionList.html#ParentParser">ParentParser</a></b>: Pointer;</code></td>
</tr>
</table>
<a name="@Methods"></a><h3 class="summary">Methods</h3>
<table class="summary wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><code>Procedure <b><a   href="InstructionList.TInstructionList.html#RaiseBraceError">RaiseBraceError</a></b>(OpenBr: Integer; BrSt, BrEd: Integer);</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><code>Procedure <b><a   href="InstructionList.TInstructionList.html#RaiseOpndError">RaiseOpndError</a></b>(OPos: Integer);</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>Function <b><a   href="InstructionList.TInstructionList.html#ParseOperand">ParseOperand</a></b>(AllowSign: Boolean; Out Instr: <a   href="Instruction.TInstruction.html">TInstruction</a>): Integer;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>Function <b><a   href="InstructionList.TInstructionList.html#ParseOperator">ParseOperator</a></b>(Out Op: <a   href="ParseConst.html#TOperatorType">TOperatorType</a>): Integer;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>Procedure <b><a   href="InstructionList.TInstructionList.html#ParseExpression">ParseExpression</a></b>(AToken: <a   href="ParseConst.TToken.html">TToken</a>);</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="InstructionList.TInstructionList.html#CreateInvisBrace">CreateInvisBrace</a></b>(IStart, IEnd: Integer): <a   href="InstructionList.TInstructionList.html">TInstructionList</a>;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>procedure <b><a   href="InstructionList.TInstructionList.html#OpSort">OpSort</a></b>;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>Function <b><a   href="InstructionList.TInstructionList.html#ToString">ToString</a></b>: String;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>Function <b><a   href="InstructionList.TInstructionList.html#Solve">Solve</a></b>: <a   href="ResConst.html#TFloat">TFloat</a>;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>procedure <b><a   href="InstructionList.TInstructionList.html#RaiseError">RaiseError</a></b>(Error: <a   href="ParseConst.html#TSyntaxError">TSyntaxError</a>; EStart, EEnd: Integer);</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>Constructor <b><a   href="InstructionList.TInstructionList.html#Create">Create</a></b>(pParser: Pointer); Overload;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>Constructor <b><a   href="InstructionList.TInstructionList.html#Create">Create</a></b>(pParser: Pointer; IList: <a   href="ParseConst.TToken.html">TToken</a>); Overload;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>Destructor <b><a   href="InstructionList.TInstructionList.html#Destroy">Destroy</a></b>; Override;</code></td>
</tr>
</table>
<h2 class="description">Description</h2>
<h3 class="detail">Fields</h3>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><a name="FToken"></a><code><b>FToken</b>: <a   href="ParseConst.TToken.html">TToken</a>;</code></td>
</tr>
<tr><td colspan="2">
<p>
Points to a section of a equation</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><a name="FPos"></a><code><b>FPos</b>: Integer;</code></td>
</tr>
<tr><td colspan="2">
<p>
Read position during parsing</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="ParentParser"></a><code><b>ParentParser</b>: Pointer;</code></td>
</tr>
<tr><td colspan="2">
<p>
Reference to parent TParser instance</p>
</td></tr>
</table>
<h3 class="detail">Methods</h3>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><a name="RaiseBraceError"></a><code>Procedure <b>RaiseBraceError</b>(OpenBr: Integer; BrSt, BrEd: Integer);</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><a name="RaiseOpndError"></a><code>Procedure <b>RaiseOpndError</b>(OPos: Integer);</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="ParseOperand"></a><code>Function <b>ParseOperand</b>(AllowSign: Boolean; Out Instr: <a   href="Instruction.TInstruction.html">TInstruction</a>): Integer;</code></td>
</tr>
<tr><td colspan="2">
<p>
Parses operand from current equation position</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="ParseOperator"></a><code>Function <b>ParseOperator</b>(Out Op: <a   href="ParseConst.html#TOperatorType">TOperatorType</a>): Integer;</code></td>
</tr>
<tr><td colspan="2">
<p>
Parses operator from current equation position</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="ParseExpression"></a><code>Procedure <b>ParseExpression</b>(AToken: <a   href="ParseConst.TToken.html">TToken</a>);</code></td>
</tr>
<tr><td colspan="2">
<p>
Parses section of equation</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="CreateInvisBrace"></a><code>function <b>CreateInvisBrace</b>(IStart, IEnd: Integer): <a   href="InstructionList.TInstructionList.html">TInstructionList</a>;</code></td>
</tr>
<tr><td colspan="2">
<p>
Move section of instructions into a new invisible brace. </p>
<h6 class="description_section">See also</h6>
<dl class="see_also">
  <dt><a class="normal"  href="Instruction.TInvisBraceRef.html">Instruction.TInvisBraceRef</a></dt>
  <dd>This class is almost identical to <a class="normal"  href="Instruction.TBraceRef.html">TBraceRef</a>, but it is only used by <a class="normal"  href="InstructionList.TInstructionList.html#OpSort">InstructionList.TInstructionList.OpSort</a> to control the operator precedence.</dd>
</dl>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="OpSort"></a><code>procedure <b>OpSort</b>;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="ToString"></a><code>Function <b>ToString</b>: String;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Solve"></a><code>Function <b>Solve</b>: <a   href="ResConst.html#TFloat">TFloat</a>;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="RaiseError"></a><code>procedure <b>RaiseError</b>(Error: <a   href="ParseConst.html#TSyntaxError">TSyntaxError</a>; EStart, EEnd: Integer);</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Create"></a><code>Constructor <b>Create</b>(pParser: Pointer); Overload;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Create"></a><code>Constructor <b>Create</b>(pParser: Pointer; IList: <a   href="ParseConst.TToken.html">TToken</a>); Overload;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Destroy"></a><code>Destructor <b>Destroy</b>; Override;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<hr noshade size="1"><span class="appinfo"><em>Generated by <a  target="_parent" href="http://pasdoc.sourceforge.net/">PasDoc 0.10.0</a> on 2007-09-13 21:24:25</em>
</span>
</body></html>
